<!DOCTYPE html>
<html>

<head>
  <title>Quarkus 0.23.1 released - Paving the way to our new HTTP layer</title>
  <script id="adobe_dtm" src="https://www.redhat.com/dtm.js" type="text/javascript"></script>
  <script src="/assets/javascript/highlight.pack.js" type="text/javascript"></script>
  <META HTTP-EQUIV='Content-Security-Policy' CONTENT="default-src 'none'; script-src 'self' 'unsafe-eval' 'sha256-ANpuoVzuSex6VhqpYgsG25OHWVA1I+F6aGU04LoI+5s=' 'sha256-ipy9P/3rZZW06mTLAR0EnXvxSNcnfSDPLDuh3kzbB1w=' js.bizographics.com https://www.redhat.com assets.adobedtm.com jsonip.com https://ajax.googleapis.com https://www.googletagmanager.com https://www.google-analytics.com https://use.fontawesome.com; style-src 'self' https://fonts.googleapis.com https://use.fontawesome.com; img-src 'self' *; media-src 'self' ; frame-src https://www.googletagmanager.com https://www.youtube.com; frame-ancestors 'none'; base-uri 'none'; object-src 'none'; form-action 'none'; font-src 'self' https://use.fontawesome.com https://fonts.gstatic.com;">
  <META HTTP-EQUIV='X-Frame-Options' CONTENT="DENY">
  <META HTTP-EQUIV='X-XSS-Protection' CONTENT="1; mode=block">
  <META HTTP-EQUIV='X-Content-Type-Options' CONTENT="nosniff">
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description" content="Quarkus: Supersonic Subatomic Java">
  <meta name="twitter:card" content="summary_large_image">
  <meta name="twitter:site" content="@QuarkusIO"> 
  <meta name="twitter:creator" content="@QuarkusIO">
  <meta property="og:url" content="https://quarkus.io/blog/quarkus-0-23-1-released/" />
  <meta property="og:title" content="Quarkus 0.23.1 released - Paving the way to our new HTTP layer" />
  <meta property="og:description" content="Quarkus: Supersonic Subatomic Java" />
  <meta property="og:image" content="/assets/images/quarkus_card.png" />
  <link rel="canonical" href="https://quarkus.io/blog/quarkus-0-23-1-released/">
  <link rel="shortcut icon" type="image/png" href="/favicon.ico" >
  <link rel="stylesheet" href="https://quarkus.io/guides/stylesheet/config.css" />
  <link rel="stylesheet" href="/assets/css/main.css" />
  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css" integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt" crossorigin="anonymous">
  <link rel="alternate" type="application/rss+xml"  href="https://quarkus.io/feed.xml" title="Quarkus">
  <script src="https://quarkus.io/assets/javascript/goan.js" type="text/javascript"></script>
  <script src="https://quarkus.io/assets/javascript/hl.js" type="text/javascript"></script>
</head>

<body class="post">
  <!-- Google Tag Manager (noscript) -->
  <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NJWS5L"
  height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
  <!-- End Google Tag Manager (noscript) -->

  <div class="nav-wrapper">
  <div class="grid-wrapper">
    <div class="width-12-12">
      <input type="checkbox" id="checkbox" />
      <nav id="main-nav" class="main-nav">
  <div class="container">
    <div class="logo-wrapper">
      
        <a href="/"><img src="/assets/images/quarkus_logo_horizontal_rgb_600px_reverse.png" class="project-logo" title="Quarkus"></a>
      
    </div>
    <label class="nav-toggle" for="checkbox">
      <i class="fa fa-bars"></i>
    </label>
    <div id="menu" class="menu">
      <span>
        <a href="/get-started/" class="">Get Started</a>
      </span>
      <span>
        <a href="/guides/" class="">Guides</a>
      </span>
      <span>
        <a href="/community/" class="">Community</a>
      </span>
      <span>
        <a href="/support/" class="">Support</a>
      </span>
      <span>
        <a href="/blog/" class="active">Blog</a>
      </span>
      <span>
        <a href="https://code.quarkus.io" class="button-cta secondary white">Start Coding</a>
      </span>
    </div>
  </div>
      </nav>
    </div>
  </div>
</div>

  <div class="content">
    <div class="post-page grid-wrapper">
  <div class="width-8-12 width-12-12-m doc-content">
    <div class="grid-wrapper">
      <div class="width-12-12">
        <p>
          <a href="/blog"><i class="fas fa-angle-left"></i> Back to all posts</a>
        </p>
      </div>
      <div class="width-12-12">
        <div class="post-date">
          September 26, 2019 
          
            <span class="tags"><a href="/blog/tag/release">#release</a></span>
          
        </div>
        <h1 class="post-title">Quarkus 0.23.1 released - Paving the way to our new HTTP layer</h1>
        <div class="grid-wrapper">
          <div class="width-8-12 width-12-12-m byline-wrapper">
            
            
              <img class="headshot" src="https://www.gravatar.com/avatar/ec96387a1a8295b6fd6dffb68f80c352">
            
            <p class="byline">By Guillaume Smet</p>
          </div>
          <div class="width-12-12">
              <div class="admonitionblock warning">
<table>
<tr>
<td class="icon">
<i class="fa icon-warning" title="Warning"></i>
</td>
<td class="content">
<div class="paragraph">
<p>DO NOT USE 0.23.1 - PLEASE USE 0.23.2.</p>
</div>
<div class="paragraph">
<p>We found a major memory regression in 0.23.1, we urge you to not use it and use 0.23.2 instead.</p>
</div>
</td>
</tr>
</table>
</div>
<div class="paragraph">
<p>We just released Quarkus 0.23.1.
This version is an important milestone for us as it materializes one of our major objectives: relying on <a href="https://vertx.io/">Vert.x</a> for our entire HTTP layer.
It also comes with a lot of improvements and bugfixes contributed by our vibrant community.</p>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
<div class="paragraph">
<p>The recommended version of GraalVM is now 19.2.0.1 so <a href="https://www.graalvm.org/downloads/">please upgrade</a>!</p>
</div>
</td>
</tr>
</table>
</div>
<div class="sect1">
<h2 id="whats-new"><a class="anchor" href="#whats-new"></a>What&#8217;s new?</h2>
<div class="sectionbody">
<div class="sect2">
<h3 id="new-http-layer"><a class="anchor" href="#new-http-layer"></a>New HTTP layer</h3>
<div class="paragraph">
<p>We are making progress on basing our entire HTTP layer (meaning Undertow, our servlet implementation, and RESTEasy, our JAX-RS implementation) on top of Vert.x.</p>
</div>
<div class="paragraph">
<p>0.23 is the first step of this major change: our servlet implementation is now making use of Vert.x under the hood. Note that this is only the first change of many to come as, in our next version, RESTEasy will be able to avoid servlets entirely and leverage Vert.x directly.</p>
</div>
<div class="paragraph">
<p>A more comprehensive blog post explaining everything you have to know about it will be published soon so stay tuned.</p>
</div>
</div>
<div class="sect2">
<h3 id="jdk-12-support"><a class="anchor" href="#jdk-12-support"></a>JDK 12+ support</h3>
<div class="paragraph">
<p>Until now, Quarkus only supported JDK 8 and 11 (the so-called LTS JDKs). We now support JDK 12 and 13.</p>
</div>
<div class="paragraph">
<p>Note that if you want to build GraalVM native executables, you are still limited to JDK 8 for the time being.</p>
</div>
</div>
<div class="sect2">
<h3 id="new-extensions"><a class="anchor" href="#new-extensions"></a>New extensions</h3>
<div class="sect3">
<h4 id="azure-functions"><a class="anchor" href="#azure-functions"></a>Azure functions</h4>
<div class="paragraph">
<p>Slightly related to our new HTTP layer, we now have an extension for Azure functions support and <a href="https://quarkus.io/guides/azure-functions-http">a guide</a> explaining all you need to know to deploy Azure functions based on Quarkus.</p>
</div>
</div>
<div class="sect3">
<h4 id="mysql-here-we-come"><a class="anchor" href="#mysql-here-we-come"></a>MySQL, here we come</h4>
<div class="paragraph">
<p>We have been a bit shy on our MySQL support as we prioritized the support of MariaDB.</p>
</div>
<div class="paragraph">
<p>As good news never come alone, it&#8217;s not one extension we added but two:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><code>quarkus-jdbc-mysql</code> - An extension for the official MySQL JDBC driver you can use with Hibernate ORM</p>
</li>
<li>
<p><code>quarkus-reactive-mysql-client</code> - A reactive client for MySQL</p>
</li>
</ul>
</div>
</div>
<div class="sect3">
<h4 id="activemq-artemis"><a class="anchor" href="#activemq-artemis"></a>ActiveMQ Artemis</h4>
<div class="paragraph">
<p>If you are into messaging, we have one more option for you, <a href="https://activemq.apache.org/components/artemis/">ActiveMQ Artemis</a>, in the form of the <code>quarkus-artemis-core</code> and <code>quarkus-artemis-jms</code> extensions.</p>
</div>
</div>
<div class="sect3">
<h4 id="jgit"><a class="anchor" href="#jgit"></a>JGit</h4>
<div class="paragraph">
<p>We have added an extension for JGit: say hello to <code>quarkus-jgit</code>. More information in the <a href="https://quarkus.io/guides/jgit">JGit extension guide</a>.</p>
</div>
</div>
</div>
<div class="sect2">
<h3 id="various-extension-improvements"><a class="anchor" href="#various-extension-improvements"></a>Various extension improvements</h3>
<div class="dlist">
<dl>
<dt class="hdlist1">Amazon DynamoDB</dt>
<dd>
<p>The Amazon DynamoDB extension is now fully "quarked": you can configure it fully via our centralized <code>application.properties</code> and inject the appropriate beans in your applications. We also have [a brand new guide].</p>
</dd>
<dt class="hdlist1">Apache Tika</dt>
<dd>
<p>You can now define the parsers you want to use: only these parsers are included in the native image, greatly reducing its size. See <a href="https://quarkus.io/guides/tika">the Apache Tika guide</a> for more information.</p>
</dd>
<dt class="hdlist1">Hibernate ORM</dt>
<dd>
<p>The default value of <code>quarkus.hibernate-orm.sql-load-script</code> has been changed from <code>import.sql</code> to <code>no-file</code> by default <strong>when the <code>prod</code> profile is enabled</strong>. That means that if you want to load data in <code>prod</code> mode, you need to explicitly point to your import file.</p>
</dd>
<dt class="hdlist1">Jaeger</dt>
<dd>
<p>The metrics were wrongly added to the <code>base</code> metrics: they are now added to the <code>vendor</code> metrics.</p>
</dd>
<dt class="hdlist1">Kafka Streams</dt>
<dd>
<p>You can now leverage the awesomeness of Live Coding when developing Kafka Streams applications.</p>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="scala-support"><a class="anchor" href="#scala-support"></a>Scala support</h3>
<div class="paragraph">
<p>Together with Java and Kotlin, we now also support Scala. Just add the <code>quarkus-scala</code> extension when creating a new project (using <a href="https://code.quarkus.io/">code.quarkus.io</a> or the command line) and you will get a Scala project.</p>
</div>
</div>
<div class="sect2">
<h3 id="deprecations"><a class="anchor" href="#deprecations"></a>Deprecations</h3>
<div class="paragraph">
<p>The <code>quarkus-junit4</code> extension has been retired. You may use the <code>quarkus-junit5</code> extension and move your tests to JUnit 5.</p>
</div>
</div>
<div class="sect2">
<h3 id="full-changelog"><a class="anchor" href="#full-changelog"></a>Full changelog</h3>
<div class="paragraph">
<p>We also fixed a few bugs and usability issues: get <a href="https://github.com/quarkusio/quarkus/releases/tag/0.23.0">the full changelog of 0.23.0 on GitHub</a> - and, if you&#8217;re really curious, <a href="https://github.com/quarkusio/quarkus/releases/tag/0.23.1">the issue we fixed in 0.23.1</a>.</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="contributors"><a class="anchor" href="#contributors"></a>Contributors</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Quarkus has now <a href="https://github.com/quarkusio/quarkus/graphs/contributors">149 contributors</a>.
Many many thanks to each and everyone of them.</p>
</div>
<div class="paragraph">
<p>In particular for this release, thanks to Alessio Soldano, Alex Soto, Alexey Loubyansky, Andy Damevin, Andy Muir, Arne Mejlholm, Aurea Munoz, Bill Burke, chaminnk, Clement Escoffier, Cristiano Nicolai, Damien, Daniel Ribeiro, David M. Lloyd, Dennis Baerten, Emmanuel Bernard, Galder Zamarreño, George Gastaldi, Georgios Andrianakis, Guillaume Dufour, Guillaume Smet, Gunnar Morling, Gwenneg Lepage, Jacob Middag, Jaikiran Pai, Jan Martiska, Jason T. Greene, Justin Lee, Ken Finnigan, Libor Krzyzanek, Loïc Mathieu, Maarten Mulders, Maciej Swiderski, Manyanda Chitimbo, Marcin Czeczko, Martin Kouba, Matej Novotny, Matteo Mortari, Max Rydahl Andersen, Michal Szynkiewicz, Minto van der Sluis, Mitesh Aghera, Moncef Aoudia, Paweł Żalejko, Peter Palaga, Roberto Gamarra, Rostislav Svoboda, Sanne Grinovero, Sergey Beryozkin, soberich, Stuart Douglas, Stéphane Épardaud, Thomas Segismont, Vincent Sevel, William Burns and William Siqueira.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="come-join-us"><a class="anchor" href="#come-join-us"></a>Come Join Us</h2>
<div class="sectionbody">
<div class="paragraph">
<p>We value your feedback a lot so please report bugs, ask for improvements&#8230;&#8203; Let&#8217;s build something great together!</p>
</div>
<div class="paragraph">
<p>If you are a Quarkus user or just curious, don&#8217;t be shy and join our welcoming community:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>provide feedback on <a href="https://github.com/quarkusio/quarkus/issues">GitHub</a>;</p>
</li>
<li>
<p>craft some code and <a href="https://github.com/quarkusio/quarkus/pulls">push a PR</a>;</p>
</li>
<li>
<p>discuss with us on <a href="https://quarkusio.zulipchat.com/">Zulip</a> and on the <a href="https://groups.google.com/d/forum/quarkus-dev">mailing list</a>;</p>
</li>
<li>
<p>ask your questions on <a href="https://stackoverflow.com/questions/tagged/quarkus">Stack Overflow</a>.</p>
</li>
</ul>
</div>
</div>
</div>
              
          </div>
          <div class="width-12-12"><div class="share-page">
  <a class="share-linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=https://quarkus.io/blog/quarkus-0-23-1-released/&title=Quarkus 0.23.1 released - Paving the way to our new HTTP layer" rel="nofollow" target="_blank" title="Share on LinkedIn">
    <img src="/assets/images/share-page/icons_social-linkedin.png"/>
  </a>
  <a class="share-twitter" href="https://twitter.com/intent/tweet?text=Quarkus 0.23.1 released - Paving the way to our new HTTP layer&url=https://quarkus.io/blog/quarkus-0-23-1-released/&via=quarkusio&related=quarkusio" rel="nofollow" target="_blank" title="Share on Twitter">
    <img src="/assets/images/share-page/icons_social-twitter.png"/>
  </a>
  <a class="share-facebook" href="https://facebook.com/sharer.php?u=https://quarkus.io/blog/quarkus-0-23-1-released/" rel="nofollow" target="_blank" title="Share on Facebook">
    <img src="/assets/images/share-page/icons_social-facebook.png"/>
  </a>
  <a class="share-reddit" href="http://www.reddit.com/submit?url=https://quarkus.io/blog/quarkus-0-23-1-released/" onclick="window.open(this.href, 'pop-up', 'left=20,top=20,width=900,height=500,toolbar=1,resizable=0'); return false;" title="Share on Reddit" >
    <img src="/assets/images/share-page/icons_social-reddit.png"/>
  </a>
  <a class="share-email" href="mailto:?subject=Quarkus 0.23.1 released - Paving the way to our new HTTP layer&amp;body=Quarkus 0.23.1 released - Paving the way to our new HTTP layer https://quarkus.io/blog/quarkus-0-23-1-released/" title="Share via Email" >
    <img src="/assets/images/share-page/icons_social-email.png"/>
  </a>
</div>
</div>
        </div>
      </div>
    </div>
  </div>
</div>

  </div>

  <div class="content project-footer">
  <div class="footer-section">
    <div class="logo-wrapper">
      <a href="/"><img src="/assets/images/quarkus_logo_horizontal_rgb_reverse.svg" class="project-logo" title="Quarkus"></a>
    </div>
  </div>
  <div class="grid-wrapper">
    <p class="grid__item width-3-12">Quarkus is open. All dependencies of this project are available under the <a href='https://www.apache.org/licenses/LICENSE-2.0' target='_blank'>Apache Software License 2.0</a> or compatible license.<br /><br />This website was built with <a href='https://jekyllrb.com/' target='_blank'>Jekyll</a>, is hosted on <a href='https://pages.github.com/' target='_blank'>Github Pages</a> and is completely open source. If you want to make it better, <a href='https://github.com/quarkusio/quarkusio.github.io' target='_blank'>fork the website</a> and show us what you’ve got.</p>

    
      <div class="width-1-12 project-links">
        <span>Navigation</span>
        <ul class="footer-links width-1-12">
          
            <li><a href="/">Home</a></li>
          
            <li><a href="/guides">Guides</a></li>
          
            <li><a href="/community/#contributing">Contribute</a></li>
          
            <li><a href="/faq">FAQ</a></li>
          
            <li><a href="/get-started">Get Started</a></li>
          
        </ul>
      </div>
    
      <div class="width-1-12 project-links">
        <span>Contribute</span>
        <ul class="footer-links width-1-12">
          
            <li><a href="https://twitter.com/quarkusio">Follow us</a></li>
          
            <li><a href="https://github.com/quarkusio">GitHub</a></li>
          
            <li><a href="/security">Security&nbsp;policy</a></li>
          
        </ul>
      </div>
    
      <div class="width-1-12 project-links">
        <span>Get Help</span>
        <ul class="footer-links width-1-12">
          
            <li><a href="https://groups.google.com/forum/#!forum/quarkus-dev">Forums</a></li>
          
            <li><a href="https://quarkusio.zulipchat.com">Chatroom</a></li>
          
        </ul>
      </div>
    

    
      <div class="width-3-12 more-links">
        <span>Quarkus is made of community projects</span>
        <ul class="footer-links">
          
            <li><a href="https://vertx.io/" target="_blank">Eclipse Vert.x</a></li>
          
            <li><a href="https://microprofile.io" target="_blank">Eclipse MicroProfile</a></li>
          
            <li><a href="https://hibernate.org" target="_blank">Hibernate</a></li>
          
            <li><a href="https://netty.io" target="_blank">Netty</a></li>
          
            <li><a href="https://resteasy.github.io" target="_blank">RESTEasy</a></li>
          
            <li><a href="https://camel.apache.org" target="_blank">Apache Camel</a></li>
          
            <li><a href="https://code.quarkus.io/" target="_blank">And many more...</a></li>
          
        </ul>
      </div>
    
  </div>
</div>
  <div class="content redhat-footer">
  <div class="grid-wrapper">
    <span class="licence">
      <i class="fab fa-creative-commons"></i><i class="fab fa-creative-commons-by"></i> <a href="https://creativecommons.org/licenses/by/3.0/" target="_blank">CC by 3.0</a> | <a href="https://www.redhat.com/en/about/privacy-policy">Privacy Policy</a>
    </span>
    <span class="redhat">
      Sponsored by
    </span>
    <span class="redhat-logo">
      <a href="https://www.redhat.com/" target="_blank"><img src="/assets/images/redhat_reversed.svg"></a>
    </span>
  </div>
</div>


  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js" integrity="sha384-8gBf6Y4YYq7Jx97PIqmTwLPin4hxIzQw5aDmUg/DDhul9fFpbbLcLh3nTIIDJKhx" crossorigin="anonymous"></script>
  <script type="text/javascript" src="/assets/javascript/mobile-nav.js"></script>
  <script type="text/javascript" src="/assets/javascript/scroll-down.js"></script>
  <script src="/assets/javascript/satellite.js" type="text/javascript"></script>
  <script src="https://quarkus.io/guides/javascript/config.js" type="text/javascript"></script>
  <script src="/assets/javascript/search-filter.js" type="text/javascript"></script>
  <script src="/assets/javascript/back-to-top.js" type="text/javascript"></script>
</body>

</html>
